/**
 * 
 */
package com.thoughtworks.merchantsguide.processor;

import com.thoughtworks.merchantsguide.exception.InvalidCommodityException;
import com.thoughtworks.merchantsguide.exception.InvalidInputException;
import com.thoughtworks.merchantsguide.exception.UnsupportedNumberException;


/**
 * Common interface to process the input.
 *
 */
public interface LineProcessor {

	String SPACE_FOR_SEARCH = " ";

	/**
	 * Method to process the input based on the input type, implementation is
	 * selected.
	 * 
	 * @param query
	 * @throws InvalidInputException
	 * @throws UnsupportedNumberException
	 * @throws InvalidCommodityException
	 */
	Object process(String query) throws InvalidInputException, UnsupportedNumberException, InvalidCommodityException;
}